package cn.com.shopec.erp.provideinterface.entity;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

/**
 * 
 * @ClassName MonthInAndOutCollect
 * @Description 产品收发存汇总表/月(实体)
 * @author chengui
 * @date 2013-7-17 上午9:57:39
 */
@Entity
@Table(name = "tbl_month_in_out_collect")
public class MonthInAndOutCollect implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -3212558888616472345L;
	
	/** 主键 . */
	private String id;
	/** 商品编码(sku). */
	private String sku;
	/** 仓库编码. */
	private String whNo;
	/** 仓库名称. */
	private String whName;
	/** 商品类别. */
	private String commCat;
	/** 出入库类型. */
	private String inOrOutType;
	/** 国际码. */
	private String internationalCode;
	/** 商品名称. */
	private String commName;
	/** 商品规格. */
	private String commSpec;
	/** 规格码. */
	private String specCode;
	/** 商品单位. */
	private String commUnit;
	/** 商品销售类型:1-购销；2-代销. */
	private int prodType = 0;
	/** 适用税率. */
	private String proRate;
	/** 期初结存数量. */
	private int monthStartInOrOutQty = 0;
	/** 期初不含税金额. */
	private double monthStartUntaxPrice = 0.00;
	/** 期初含税金额. */
	private double monthStartTaxPrice = 0.00;
	/** 收入数量. */
	private int monthInQty = 0;
	/** 不含税收入金额. */
	private double monthInUntaxPrice = 0.00;
	/** 含税收入金额. */
	private double monthInTaxPrice = 0.00;
	/** 发出数量. */
	private int monthOutQty = 0;
	/** 不含税发出金额. */
	private double monthOutUntaxPrice = 0.00;
	/** 含税发出金额. */
	private double monthOutTaxPrice = 0.00;
	/** 期末结存数量. */
	private int monthEndInOrOutQty = 0;
	/** 期末可用库存. */
	private int monthEndLeftInventory = 0;
	/** 期末不含税金额. */
	private double monthEndUntaxPrice = 0.00;
	/** 期末含税金额. */
	private double monthEndTaxPrice = 0.00;
	/** 具体年月. */
	private String yearOfMonth;
	/** 删除标识. */
	private int deleteFlag = 1;
	
	public MonthInAndOutCollect() {
		super();
	}
	public MonthInAndOutCollect(String id) {
		super();
		this.id = id;
	}
	public MonthInAndOutCollect(String sku, String yearOfMonth) {
		super();
		this.sku = sku;
		this.yearOfMonth = yearOfMonth;
	}
	public MonthInAndOutCollect(String id, String sku, String whNo,
			String whName, String commCat, String inOrOutType,
			String internationalCode, String commName, String commSpec,
			String specCode, String commUnit, String proRate,
			int monthStartInOrOutQty, double monthStartUntaxPrice,
			double monthStartTaxPrice, int monthInQty,
			double monthInUntaxPrice, double monthInTaxPrice, int monthOutQty,
			double monthOutUntaxPrice, double monthOutTaxPrice,
			int monthEndInOrOutQty, int monthEndLeftInventory,
			double monthEndUntaxPrice, double monthEndTaxPrice,
			String yearOfMonth, int deleteFlag) {
		super();
		this.id = id;
		this.sku = sku;
		this.whNo = whNo;
		this.whName = whName;
		this.commCat = commCat;
		this.inOrOutType = inOrOutType;
		this.internationalCode = internationalCode;
		this.commName = commName;
		this.commSpec = commSpec;
		this.specCode = specCode;
		this.commUnit = commUnit;
		this.proRate = proRate;
		this.monthStartInOrOutQty = monthStartInOrOutQty;
		this.monthStartUntaxPrice = monthStartUntaxPrice;
		this.monthStartTaxPrice = monthStartTaxPrice;
		this.monthInQty = monthInQty;
		this.monthInUntaxPrice = monthInUntaxPrice;
		this.monthInTaxPrice = monthInTaxPrice;
		this.monthOutQty = monthOutQty;
		this.monthOutUntaxPrice = monthOutUntaxPrice;
		this.monthOutTaxPrice = monthOutTaxPrice;
		this.monthEndInOrOutQty = monthEndInOrOutQty;
		this.monthEndLeftInventory = monthEndLeftInventory;
		this.monthEndUntaxPrice = monthEndUntaxPrice;
		this.monthEndTaxPrice = monthEndTaxPrice;
		this.yearOfMonth = yearOfMonth;
		this.deleteFlag = deleteFlag;
	}
	
	@Id
	@GenericGenerator(name = "generator", strategy = "uuid.hex")
	@GeneratedValue(generator = "generator")
	@Column(name = "id", unique = true, nullable = false, length = 50)
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	@Column(name = "sku", nullable = false)
	public String getSku() {
		return sku;
	}
	public void setSku(String sku) {
		this.sku = sku;
	}
	@Column(name = "wh_no")
	public String getWhNo() {
		return whNo;
	}
	public void setWhNo(String whNo) {
		this.whNo = whNo;
	}
	@Column(name = "wh_name")
	public String getWhName() {
		return whName;
	}
	public void setWhName(String whName) {
		this.whName = whName;
	}
	@Column(name = "comm_cat")
	public String getCommCat() {
		return commCat;
	}
	public void setCommCat(String commCat) {
		this.commCat = commCat;
	}
	@Column(name = "in_out_type")
	public String getInOrOutType() {
		return inOrOutType;
	}
	public void setInOrOutType(String inOrOutType) {
		this.inOrOutType = inOrOutType;
	}
	@Column(name = "international_code")
	public String getInternationalCode() {
		return internationalCode;
	}
	public void setInternationalCode(String internationalCode) {
		this.internationalCode = internationalCode;
	}
	@Column(name = "comm_name")
	public String getCommName() {
		return commName;
	}
	public void setCommName(String commName) {
		this.commName = commName;
	}
	@Column(name = "comm_spec")
	public String getCommSpec() {
		return commSpec;
	}
	public void setCommSpec(String commSpec) {
		this.commSpec = commSpec;
	}
	@Column(name = "spec_code")
	public String getSpecCode() {
		return specCode;
	}
	public void setSpecCode(String specCode) {
		this.specCode = specCode;
	}
	@Column(name = "comm_unit")
	public String getCommUnit() {
		return commUnit;
	}
	public void setCommUnit(String commUnit) {
		this.commUnit = commUnit;
	}
	@Column(name = "prod_sale_type")
	public int getProdType() {
		return prodType;
	}
	public void setProdType(int prodType) {
		this.prodType = prodType;
	}
	@Column(name = "pro_rate")
	public String getProRate() {
		return proRate;
	}
	public void setProRate(String proRate) {
		this.proRate = proRate;
	}
	@Column(name = "month_start_in_out_qty")
	public int getMonthStartInOrOutQty() {
		return monthStartInOrOutQty;
	}
	public void setMonthStartInOrOutQty(int monthStartInOrOutQty) {
		this.monthStartInOrOutQty = monthStartInOrOutQty;
	}
	@Column(name = "month_start_untax_price")
	public double getMonthStartUntaxPrice() {
		return monthStartUntaxPrice;
	}
	public void setMonthStartUntaxPrice(double monthStartUntaxPrice) {
		this.monthStartUntaxPrice = monthStartUntaxPrice;
	}
	@Column(name = "month_start_tax_price")
	public double getMonthStartTaxPrice() {
		return monthStartTaxPrice;
	}
	public void setMonthStartTaxPrice(double monthStartTaxPrice) {
		this.monthStartTaxPrice = monthStartTaxPrice;
	}
	@Column(name = "month_in_qty")
	public int getMonthInQty() {
		return monthInQty;
	}
	public void setMonthInQty(int monthInQty) {
		this.monthInQty = monthInQty;
	}
	@Column(name = "month_in_untax_price")
	public double getMonthInUntaxPrice() {
		return monthInUntaxPrice;
	}
	public void setMonthInUntaxPrice(double monthInUntaxPrice) {
		this.monthInUntaxPrice = monthInUntaxPrice;
	}
	@Column(name = "month_in_tax_price")
	public double getMonthInTaxPrice() {
		return monthInTaxPrice;
	}
	public void setMonthInTaxPrice(double monthInTaxPrice) {
		this.monthInTaxPrice = monthInTaxPrice;
	}
	@Column(name = "month_out_qty")
	public int getMonthOutQty() {
		return monthOutQty;
	}
	public void setMonthOutQty(int monthOutQty) {
		this.monthOutQty = monthOutQty;
	}
	@Column(name = "month_out_untax_price")
	public double getMonthOutUntaxPrice() {
		return monthOutUntaxPrice;
	}
	public void setMonthOutUntaxPrice(double monthOutUntaxPrice) {
		this.monthOutUntaxPrice = monthOutUntaxPrice;
	}
	@Column(name = "month_out_tax_price")
	public double getMonthOutTaxPrice() {
		return monthOutTaxPrice;
	}
	public void setMonthOutTaxPrice(double monthOutTaxPrice) {
		this.monthOutTaxPrice = monthOutTaxPrice;
	}
	@Column(name = "month_end_in_out_qty")
	public int getMonthEndInOrOutQty() {
		return monthEndInOrOutQty;
	}
	public void setMonthEndInOrOutQty(int monthEndInOrOutQty) {
		this.monthEndInOrOutQty = monthEndInOrOutQty;
	}
	@Column(name = "month_end_left_inventory")
	public int getMonthEndLeftInventory() {
		return monthEndLeftInventory;
	}
	public void setMonthEndLeftInventory(int monthEndLeftInventory) {
		this.monthEndLeftInventory = monthEndLeftInventory;
	}
	@Column(name = "month_end_untax_price")
	public double getMonthEndUntaxPrice() {
		return monthEndUntaxPrice;
	}
	public void setMonthEndUntaxPrice(double monthEndUntaxPrice) {
		this.monthEndUntaxPrice = monthEndUntaxPrice;
	}
	@Column(name = "month_end_tax_price")
	public double getMonthEndTaxPrice() {
		return monthEndTaxPrice;
	}
	public void setMonthEndTaxPrice(double monthEndTaxPrice) {
		this.monthEndTaxPrice = monthEndTaxPrice;
	}
	@Column(name = "year_month", nullable = false)
	public String getYearOfMonth() {
		return yearOfMonth;
	}
	public void setYearOfMonth(String yearOfMonth) {
		this.yearOfMonth = yearOfMonth;
	}
	@Column(name = "delete_flag")
	public int getDeleteFlag() {
		return deleteFlag;
	}
	public void setDeleteFlag(int deleteFlag) {
		this.deleteFlag = deleteFlag;
	}
	
}
